Skip to content

feature: filament color adaptation - #520

Merged
LiuLikeQian merged 3 commits into
mainfrom
feature_filament_color_adaptation
Jun 18, 2026
Merged

feature: filament color adaptation#520
LiuLikeQian merged 3 commits into
mainfrom
feature_filament_color_adaptation

Conversation

@PILIPALA030

Copy link
Copy Markdown
Collaborator

Description

This PR implements the official filament color management system for Snapmaker U1 printers, enabling users to select filament colors from an official color library with multi-color (dual-segment/gradient) visual support.

Add Snapmaker official filament color management with multi-color metadata,
official color selection dialog, and persisted self-described color data.

Add filament color data structures, mode normalization, and hex/multi-color helpers
Load official filament color catalog and match by material name with filament ID fallback
Support official color selection, localized color names, SKU display, and custom color fallback
Render single, segmented, and gradient filament colors in preset lists and paint toolbars
Sync multi-color fields through preset/project configuration and preprint data
Avoid writing Snapmaker-only SKU data into 3MF project settings
Preserve existing mixed-filament badge behavior while adding official color bitmap rendering

PILIPALA030 and others added 2 commits June 17, 2026 20:45
This PR implements the official filament color management system for Snapmaker U1 printers, enabling users to select filament colors from an official color library with multi-color (dual-segment/gradient) visual support.

Add Snapmaker official filament color management with multi-color metadata,
official color selection dialog, and persisted self-described color data.

Add filament color data structures, mode normalization, and hex/multi-color helpers
Load official filament color catalog and match by material name with filament ID fallback
Support official color selection, localized color names, SKU display, and custom color fallback
Render single, segmented, and gradient filament colors in preset lists and paint toolbars
Sync multi-color fields through preset/project configuration and preprint data
Avoid writing Snapmaker-only SKU data into 3MF project settings
Preserve existing mixed-filament badge behavior while adding official color bitmap rendering
# Conflicts:
#	localization/i18n/zh_CN/Snapmaker_Orca_zh_CN.po
@github-actions

Copy link
Copy Markdown

Documentation validation failed

🔗 Link Validation Errors

📄 doc/developer-reference\Built-in-placeholders-variables.md:

  • Line 93: home#process-settings - Fragment does not exist
  • Line 93: home#material-settings - Fragment does not exist

📄 doc/developer-reference\How-to-wiki.md:

  • Line 44: home#material-settings - Fragment does not exist
  • Line 45: home#process-settings - Fragment does not exist
  • Line 46: home#prepare - Fragment does not exist
  • Line 47: home#calibrations - Fragment does not exist
  • Line 50: home#process-settings - Fragment does not exist
  • Line 50: home#support-settings - Fragment does not exist
  • Line 50: home#others-settings - Fragment does not exist

📄 doc/Home.md:

  • Line 14: Precise-wall.md - File does not exist
  • Line 17: extrusion-rate-smoothing.md - File does not exist
  • Line 33: adaptive-pressure-advance.md - File does not exist

📄 doc/Tab.cpp:

  • Line 2372: fill-patterns - File does not exist
  • Line 2375: fill-patterns - File does not exist
  • Line 2556: multimaterial_settings_prime_tower#brim-chamfer - Fragment does not exist
  • Line 2557: multimaterial_settings_prime_tower#brim-chamfer-max-width - Fragment does not exist
  • Line 2569: multimaterial_settings_prime_tower#wall-gap - Fragment does not exist
  • Line 2583: multimaterial_settings_ooze_prevention#delta-temperature - Fragment does not exist

🖼️ Image Validation Errors

📄 doc/developer-reference\How-to-create-profiles.md:

  • Line 142: [Markdown] Alt text "Help menu" ≠ filename "go-to-configuration-folder"
  • Line 144: [Markdown] Alt text "Delete system folder" ≠ filename "profile-delete-system-folder"

@PILIPALA030
PILIPALA030 marked this pull request as ready for review June 18, 2026 09:09
@PILIPALA030
PILIPALA030 requested a review from LiuLikeQian June 18, 2026 09:09
Rename private member variables to better indicate their types:
- _filaments -> _filamentInfoVec
- _filamentIndexById -> _filamentIndexByIdMap
- _filamentIndexByName -> _filamentIndexByNameMap
@github-actions

Copy link
Copy Markdown

Documentation validation failed

🔗 Link Validation Errors

📄 doc/developer-reference\Built-in-placeholders-variables.md:

  • Line 93: home#process-settings - Fragment does not exist
  • Line 93: home#material-settings - Fragment does not exist

📄 doc/developer-reference\How-to-wiki.md:

  • Line 44: home#material-settings - Fragment does not exist
  • Line 45: home#process-settings - Fragment does not exist
  • Line 46: home#prepare - Fragment does not exist
  • Line 47: home#calibrations - Fragment does not exist
  • Line 50: home#process-settings - Fragment does not exist
  • Line 50: home#support-settings - Fragment does not exist
  • Line 50: home#others-settings - Fragment does not exist

📄 doc/Home.md:

  • Line 14: Precise-wall.md - File does not exist
  • Line 17: extrusion-rate-smoothing.md - File does not exist
  • Line 33: adaptive-pressure-advance.md - File does not exist

📄 doc/Tab.cpp:

  • Line 2372: fill-patterns - File does not exist
  • Line 2375: fill-patterns - File does not exist
  • Line 2556: multimaterial_settings_prime_tower#brim-chamfer - Fragment does not exist
  • Line 2557: multimaterial_settings_prime_tower#brim-chamfer-max-width - Fragment does not exist
  • Line 2569: multimaterial_settings_prime_tower#wall-gap - Fragment does not exist
  • Line 2583: multimaterial_settings_ooze_prevention#delta-temperature - Fragment does not exist

🖼️ Image Validation Errors

📄 doc/developer-reference\How-to-create-profiles.md:

  • Line 142: [Markdown] Alt text "Help menu" ≠ filename "go-to-configuration-folder"
  • Line 144: [Markdown] Alt text "Delete system folder" ≠ filename "profile-delete-system-folder"

@LiuLikeQian
LiuLikeQian merged commit 0e5e365 into main Jun 18, 2026
2 of 4 checks passed
zhouzengping pushed a commit to zhouzengping/OrcaSlicer that referenced this pull request Jul 7, 2026
* Feature filament color adaptation

This PR implements the official filament color management system for Snapmaker U1 printers, enabling users to select filament colors from an official color library with multi-color (dual-segment/gradient) visual support.

Add Snapmaker official filament color management with multi-color metadata,
official color selection dialog, and persisted self-described color data.

Add filament color data structures, mode normalization, and hex/multi-color helpers
Load official filament color catalog and match by material name with filament ID fallback
Support official color selection, localized color names, SKU display, and custom color fallback
Render single, segmented, and gradient filament colors in preset lists and paint toolbars
Sync multi-color fields through preset/project configuration and preprint data
Avoid writing Snapmaker-only SKU data into 3MF project settings
Preserve existing mixed-filament badge behavior while adding official color bitmap rendering

* style : rename FilamentColorLibrary member variables for clarity

Rename private member variables to better indicate their types:
- _filaments -> _filamentInfoVec
- _filamentIndexById -> _filamentIndexByIdMap
- _filamentIndexByName -> _filamentIndexByNameMap
NikSativa added a commit to NikSativa/OrcaSlicer-FullSpectrum that referenced this pull request Jul 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants